﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIA.ImageProcessing;
using VIA.Integration.Domain.Production;
using VIA.SiMoJi.Domain.Electronics;

namespace VIA.SiMoJi.Domain.Vision
{
    public class BottomDuiWeiAlgorithmResult : ImageAlgorithmResult
    {
        public Pose Pose { get; set; } = new();
        public Pose Offset { get; set; } = new();
        public string Barcode { get; set; } 
        public BottomDuiWeiAlgorithmResult() { }
        public BottomDuiWeiAlgorithmResult(ImageData image) : base(image) { }
    }

    public class BottomDetectAlgorithmResult : ImageAlgorithmResult
    {
        public bool IsSiMoOK { get; set; }  
        public string Barcode { get; set; } 
        public BottomDetectAlgorithmResult() { }
        public BottomDetectAlgorithmResult(ImageData image) : base(image) { }
    }

    public class TopImageAlgorithmResult : ImageAlgorithmResult
    {
        public Pose Pose { get; set; } = new();
        public Pose Offset { get; set; } = new();
        public string Barcode { get;set; }
        public bool[] HasProducts { get; set; }
        /// <summary>
        /// Tray是否放反
        /// </summary>
        public bool IsTrayReverseOK { get; set; } 
        public TopImageAlgorithmResult() { }
        public TopImageAlgorithmResult(ImageData image) : base(image) { }
    }

    public class UpImageAlgorithmResult : ImageAlgorithmResult
    {
        public string Barcode { get; set; }

        public UpImageAlgorithmResult() { }
        public UpImageAlgorithmResult(ImageData image):base(image) { }
    }
}
